
import BackendjsFunctions from '@/core/BackendjsFunctions.js'
import { backendjsFunctions } from '@/core/functions.js'

export default {
  /**
   * 表单栅格增加表单容器
   * @param {*} tmpContainerColId 表单栅格的 tmpId
   * @param {*} position 写入的位置，-1最左侧，-2最右侧
   * @returns 返回增加 formbox 后的所有 formbox 数据列表，同编辑 formcol 时传入的第二个参数
   */
  addContainerFormbox (tmpContainerColId, position) {
    BackendjsFunctions._verification('addContainerFormbox')
    try {
      return backendjsFunctions().addContainerFormbox(tmpContainerColId, position)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 容器中嵌套栅格
   * @param {string} tmpContainerFormId 表单主容器的 tmpId，表单容器的 tmpId
   * @param {number} row 行数
   * @param {number} col 列数
   * @param {*} position 写入的位置，-1最左侧，-2最右侧
   * @param {string} girdtype 表单栅格的换行方式参数
   * @returns 返回增加 formcol 后的所有 formcol 数据列表，同编辑 formbox 时传入的第三个参数
   */
  addContainerFormcol (tmpContainerFormId, row, col, position, girdtype) {
    BackendjsFunctions._verification('addContainerFormcol')
    try {
      return backendjsFunctions().addContainerFormcol(tmpContainerFormId, row, col, position, girdtype)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 设置表单主体容器参数
   * @param {*} bjContainer 编辑表单主体容器弹窗触发时给与的表单主体容器配置参数
   * @returns 没有返回值
   */
  setContainerFormmainbox (bjContainer) {
    BackendjsFunctions._verification('setContainerFormmainbox')
    try {
      return backendjsFunctions().setContainerFormmainbox(bjContainer)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 设置表单容器参数
   * @param {*} bjContainer 编辑表单容器弹窗触发时给与的表单容器配置参数
   * @returns 没有返回值
   */
  setContainerFormbox (bjContainer) {
    BackendjsFunctions._verification('setContainerFormbox')
    try {
      return backendjsFunctions().setContainerFormbox(bjContainer)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 设置表单栅格参数
   * @param {*} bjContainer 编辑表单栅格弹窗触发时给与的表单栅格配置参数
   * @returns 没有返回值
   */
  setContainerFormcol (bjContainer) {
    BackendjsFunctions._verification('setContainerFormcol')
    try {
      return backendjsFunctions().setContainerFormcol(bjContainer)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 删除表单容器操作
   * @param {*} tmpContainerFormboxId 需要被删除表单容器的 tmpId
   * @returns 返回删除 formbox 后的所有 formbox 数据列表，同编辑 formcol 时传入的第二个参数
   */
  delContainerFormbox (tmpContainerFormboxId) {
    BackendjsFunctions._verification('delContainerFormbox')
    try {
      return backendjsFunctions().delContainerFormbox(tmpContainerFormboxId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 删除表单栅格操作
   * @param {*} tmpContainerColId 需要被删除表单栅格的 tmpId
   * @returns 返回删除 formcol 后的所有 formcol 数据列表，同编辑 formbox 时传入的第三个参数
   */
  delContainerFormcol (tmpContainerFormcolId) {
    BackendjsFunctions._verification('delContainerFormcol')
    try {
      return backendjsFunctions().delContainerFormcol(tmpContainerFormcolId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 是否可以删除，返回 布尔类型，表单栅格、表单容器均可以调用这个方法
   * @param {*} tmpId 判断被删除的 tmpId
   * @returns true 可以 false  不可以，
   */
  isDelContainerFormColBox (tmpId) {
    BackendjsFunctions._verification('isDelContainerFormColBox')
    try {
      return backendjsFunctions().isDelContainerFormColBox(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 对表单容器进行排序，传入表单容器的列表数据，返回排序好后的列表数据，如果排序写入正常返回传入的参数数据
   * @param {*} dtboxs
   * @returns
   */
  sortContainerFormbox (dtformboxs) {
    BackendjsFunctions._verification('sortContainerFormbox')
    try {
      return backendjsFunctions().sortContainerFormbox(dtformboxs)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 对表单栅格进行排序，传入表单栅格的列表数据，返回排序好后的列表数据，如果排序写入正常返回传入的参数数据
   * @param {*} dtcols
   * @returns
   */
  sortContainerFormcol (dtformcols) {
    BackendjsFunctions._verification('sortContainerFormcol')
    try {
      return backendjsFunctions().sortContainerFormcol(dtformcols)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 显示表单容器的阴影部分
   * @param {*} tmpId 表单容器的 tmpId 数据
   * @returns boolean
   */
  showShadowFormContainer (tmpId) {
    BackendjsFunctions._verification('showShadowFormContainer')
    try {
      return backendjsFunctions().showShadowFormContainer(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 隐藏表单容器的阴影部分
   * @param {*} tmpId 表单容器的 tmpId 数据
   * @returns boolean
   */
  hideShadowFormContainer (tmpId) {
    BackendjsFunctions._verification('hideShadowFormContainer')
    try {
      return backendjsFunctions().hideShadowFormContainer(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 隐藏所有表单容器的阴影部分
   * @returns boolean
   */
  hideAllShadowFormContainer () {
    BackendjsFunctions._verification('hideAllShadowFormContainer')
    try {
      return backendjsFunctions().hideAllShadowFormContainer()
    } catch (error) {
      console.error(error)
    }
    return null
  },
  /**
   * 根据表单容器的 tmpId ，页面滚动条定位
   * @param {*} tmpId 表单容器的 tmpId 数据
   * @returns boolean
   */
  scrollFormContainer (tmpId) {
    BackendjsFunctions._verification('scrollFormContainer')
    try {
      return backendjsFunctions().scrollFormContainer(tmpId)
    } catch (error) {
      console.error(error)
    }
    return null
  }
}
